package com.struc.td;

import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.Rectangle;
// An abstract class used to tell towers what methods they must have.
public abstract class Tower extends Entity{
	public abstract void update();
	public abstract void render(SpriteBatch sb);
	public abstract void sell(Player p);
	public abstract void renderButtonSelect(SpriteBatch sb, ButtonSelect index);
	public abstract boolean upgradeSpecial(Player p);
	public abstract boolean upgradeRange(Player p);
	public abstract boolean getSold();
	public abstract Rectangle getBounds();
	public abstract Rectangle getUpgradeRangeRect();
	public abstract Rectangle getUpgradeSpecialRect();
	public abstract Rectangle getExitInfoRect();
	public abstract Rectangle getSoldRect();
	public abstract void renderRange(SpriteBatch sb);
	public abstract void renderCd(SpriteBatch sb);
}
